package com.lin.manager.secure.token;

import com.lin.manager.secure.model.SecurityUser;

/**
 * @author linjiang
 * @date 2024/7/25
 * @fn
 */
public interface AccessTokenService<T extends SecurityUser> {

    /**
     * 创建token
     *
     * @param user
     * @return
     */
    String createToken(T user);

    /**
     * 根据token获取用户信息
     *
     * @param token
     * @return
     */
    SecurityUser getUserByToken(String token);

    /**
     * 移除token
     *
     * @param token
     */
    void removeToken(Object userId, String token);
}
